import md5 from "md5"
import { loginUser, registerUser } from '@/api/category'
import { USER_INFO_DATA } from '@/constants/data'
import { message } from '@/libs'

/**
 * 用户信息
 */
export default {
  // 独立作用域
  namespaced: true,
  state: () => {
    return {
      // 登录的 token
      token: '',
      // 用户信息
      userInfo: {}
    }
  },
  mutations: {
    /**
     * 保存 token
     */
    setToken(state, newToken) {
      state.token = newToken
    },
    /**
     * 保存用户信息
     */
    setUserInfo(state, newUserInfo) {
      state.userInfo = newUserInfo
    }
  },
  actions: {
    /**
     * 注册
     */
    async register(content, payload) {
      console.log(payload, 111);
      // 加密密码
      const { password } = payload
      return await registerUser({
        ...payload,
        password: password 
      })
    },
    /**
     * 登录
     */
    async login(content, payload) {
      console.log(payload, 888);
      // 加密密码
      const { password } = payload
      const data = await loginUser({
        ...payload,
        password: password 
      })
      // 保存 token
      content.commit('setToken', 'JKSDJ-DJSKD-SJQO')
      // 获取用户信息
      content.commit('setUserInfo', USER_INFO_DATA)
      // 提示
      message('success', `欢迎您 ${USER_INFO_DATA.vipLevel ? '尊贵的 VIP' + USER_INFO_DATA.vipLevel + '用户' : USER_INFO_DATA.nickname}`)
      // content.dispatch('profile')
    },
    // 获取用户信息
    // async profile() {
    //   let res = await aaa()
    // },

    /**
     * 退出登录
     */
    logout(context) {
      // 清空token
      context.commit('setToken', '')
      // 清空用户信息
      context.commit('setUserInfo', {})
      // 刷新页面
      location.reload()
    }
  }
}
